{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# This allows multiple outputs from a single jupyter notebook cell:\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.0.3'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "import pandas as pd\n",
    "pd.__version__  # for the record"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(252, 9)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>UpperB</th>\n",
       "      <th>LowerB</th>\n",
       "      <th>PercentB</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2011-07-01</th>\n",
       "      <td>132.089996</td>\n",
       "      <td>134.100006</td>\n",
       "      <td>131.779999</td>\n",
       "      <td>133.919998</td>\n",
       "      <td>117.161659</td>\n",
       "      <td>202385700</td>\n",
       "      <td>132.373927</td>\n",
       "      <td>125.316073</td>\n",
       "      <td>1.219057</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-07-05</th>\n",
       "      <td>133.779999</td>\n",
       "      <td>134.080002</td>\n",
       "      <td>133.389999</td>\n",
       "      <td>133.809998</td>\n",
       "      <td>117.065437</td>\n",
       "      <td>165936000</td>\n",
       "      <td>133.254297</td>\n",
       "      <td>124.912703</td>\n",
       "      <td>1.066618</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Open        High         Low       Close   Adj Close  \\\n",
       "Date                                                                     \n",
       "2011-07-01  132.089996  134.100006  131.779999  133.919998  117.161659   \n",
       "2011-07-05  133.779999  134.080002  133.389999  133.809998  117.065437   \n",
       "\n",
       "               Volume      UpperB      LowerB  PercentB  \n",
       "Date                                                     \n",
       "2011-07-01  202385700  132.373927  125.316073  1.219057  \n",
       "2011-07-05  165936000  133.254297  124.912703  1.066618  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>UpperB</th>\n",
       "      <th>LowerB</th>\n",
       "      <th>PercentB</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2012-06-28</th>\n",
       "      <td>132.289993</td>\n",
       "      <td>132.990005</td>\n",
       "      <td>131.279999</td>\n",
       "      <td>132.789993</td>\n",
       "      <td>118.641281</td>\n",
       "      <td>169242100</td>\n",
       "      <td>136.500761</td>\n",
       "      <td>128.219241</td>\n",
       "      <td>0.551922</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-06-29</th>\n",
       "      <td>135.199997</td>\n",
       "      <td>136.270004</td>\n",
       "      <td>134.850006</td>\n",
       "      <td>136.100006</td>\n",
       "      <td>121.598610</td>\n",
       "      <td>212250900</td>\n",
       "      <td>136.721010</td>\n",
       "      <td>128.792993</td>\n",
       "      <td>0.921670</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Open        High         Low       Close   Adj Close  \\\n",
       "Date                                                                     \n",
       "2012-06-28  132.289993  132.990005  131.279999  132.789993  118.641281   \n",
       "2012-06-29  135.199997  136.270004  134.850006  136.100006  121.598610   \n",
       "\n",
       "               Volume      UpperB      LowerB  PercentB  \n",
       "Date                                                     \n",
       "2012-06-28  169242100  136.500761  128.219241  0.551922  \n",
       "2012-06-29  212250900  136.721010  128.792993  0.921670  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('../data/SPY_20110701_20120630_Bollinger.csv',index_col=0,parse_dates=True)\n",
    "df.shape\n",
    "df.head(2)\n",
    "df.tail(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#%matplotlib qt\n",
    "import mplfinance as mpf\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "tdf = df.iloc[0:20]\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### char101 commented 8 hours ago\n",
    "### \"An example on how to add percentage on top/bottom of the candlebars\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def _add_candlestick_labels(ax, ohlc):\n",
    "    transform = ax.transData.inverted()\n",
    "    # show the text 10 pixels above/below the bar\n",
    "    text_pad = transform.transform((0, 10))[1] - transform.transform((0, 0))[1]\n",
    "    percentages = 100. * (ohlc.Close - ohlc.Open) / ohlc.Open\n",
    "    kwargs = dict(horizontalalignment='center', color='#000000')\n",
    "    for i, (idx, val) in enumerate(percentages.items()):\n",
    "        if val != np.nan:\n",
    "            row = ohlc.loc[idx]\n",
    "            open = row.Open\n",
    "            close = row.Close\n",
    "            if open < close:\n",
    "                ax.text(i, row.High + text_pad, np.round(val, 1), verticalalignment='bottom', **kwargs)\n",
    "            elif open > close:\n",
    "                ax.text(i, row.Low - text_pad, np.round(val, 1), verticalalignment='top', **kwargs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 880x632.5 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = mpf.plot(tdf,type='candle',returnfig=True,style='charles',figscale=1.1)\n",
    "\n",
    "_add_candlestick_labels(ax[0], tdf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
